<?php


namespace DesignPatterns\SimpleFactory;


/**
 * 除法
 *
 * Class Div
 * @package DesignPatterns\SimpleFactory
 */
class Div extends Operation
{
    /**
     * 计算结果
     *
     * @return float|int
     */
    public function getResult()
    {
        if ($this->numberB == 0) {
            throw new \InvalidArgumentException('除数不能为0');
        }
        return $this->numberA / $this->numberB;
    }
}

//当我们在代码中大量的 new 了加减乘除；
//如果说我们需要要把 Add 改成 Addition ；
//或者说 new 的时候需要传个参数；
//这就坑爹了；
//全场改起来想想都心累；
//于是被这种场景坑惨了的前辈们就总结出了简单工厂模式；
//张大眼睛有请我们的主角 Factory 上场；
//Factory.php